home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2003 March / DPPCPRO0303.ISO / Components / Microsoft ASP / _SETUP.1 / ASPWizard.jar / asp / wizard / WizardModelSubDbQuerySort.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-20  |  5.9 KB  |  133 lines

  1. package asp.wizard;
  2.  
  3. import asp.netobjects.nfx.ui.OrderedListModel;
  4. import asp.netobjects.nfx.util.ExceptionHandler;
  5. import asp.netobjects.nfx.util.ExternalError;
  6. import asp.netobjects.nfx.util.InternalError;
  7. import asp.netobjects.nfx.wizard.Wizard;
  8. import asp.netobjects.nfx.wizard.WizardPage;
  9. import asp.netobjects.nfx.wizard.WizardPageView;
  10. import asp.util.ResourceUtil;
  11. import asp.wizard.def.DefConnection;
  12. import asp.wizard.util.UiUtil;
  13. import com.sun.java.swing.ImageIcon;
  14. import com.sun.java.swing.table.DefaultTableModel;
  15. import com.sun.java.swing.table.TableModel;
  16. import java.util.Vector;
  17.  
  18. public class WizardModelSubDbQuerySort extends WizardModelSub {
  19.    private SubDBQueryData _Data;
  20.    private WizardSubDbQuery _Wizard;
  21.    // $FF: synthetic field
  22.    static Class class$asp$wizard$WVPanelDbQuerySort;
  23.  
  24.    public WizardModelSubDbQuerySort() {
  25.       super.dmCanFinish = true;
  26.       super.dmIsLastPage = true;
  27.    }
  28.  
  29.    public WizardModelSubDbQuerySort(Wizard wizard, String bullet, String info, ImageIcon icon, ExceptionHandler handler) {
  30.       super(wizard, bullet, info, icon, handler);
  31.       super.dmCanFinish = true;
  32.       super.dmIsLastPage = true;
  33.       this._Wizard = (WizardSubDbQuery)wizard;
  34.       this._Data = this._Wizard.getData();
  35.    }
  36.  
  37.    public void updateTableComboBox() {
  38.       WizardViewSubDbQuerySort view = (WizardViewSubDbQuerySort)((WizardPage)this).getView();
  39.       OrderedListModel tables = this._Data.getSelectedTables();
  40.       view.setTableComboBoxModel(tables);
  41.    }
  42.  
  43.    public void updateFieldList() {
  44.       WizardViewSubDbQuerySort view = (WizardViewSubDbQuerySort)((WizardPage)this).getView();
  45.       OrderedListModel olmFields = new OrderedListModel();
  46.       String selTableName = view.getSelectedTable();
  47.       if (selTableName != null && !selTableName.equals("")) {
  48.          DefConnection dc = ((WizardSubDbQuery)((WizardPage)this).getWizard()).getDefConnection();
  49.          SubDBQueryData.setFields(dc, olmFields, selTableName, (boolean[])null);
  50.          olmFields.setOrdered(true);
  51.       }
  52.  
  53.       view.setFieldListModel(olmFields);
  54.    }
  55.  
  56.    public void loadView() {
  57.       this.updateTableComboBox();
  58.       this.updateFieldList();
  59.       this.loadValues();
  60.    }
  61.  
  62.    public void loadValues() {
  63.       this._Data.removeUnsupportedSorts();
  64.       Vector sorts = this._Data.getSorts();
  65.       WizardViewSubDbQuerySort view = (WizardViewSubDbQuerySort)((WizardPage)this).getView();
  66.       DefaultTableModel tm = (DefaultTableModel)view.getSorts();
  67.  
  68.       while(tm.getRowCount() > 0) {
  69.          tm.removeRow(0);
  70.       }
  71.  
  72.       Vector dir = this.getDirections();
  73.       Vector aRow = null;
  74.  
  75.       for(int i = 0; i < sorts.size(); ++i) {
  76.          SubDBQueryData.SortOb sort = (SubDBQueryData.SortOb)sorts.elementAt(i);
  77.          aRow = new Vector();
  78.          aRow.addElement(sort.getTable() + "." + sort.getField());
  79.          String asc;
  80.          if (sort.isAscending()) {
  81.             asc = dir.elementAt(0).toString();
  82.          } else {
  83.             asc = dir.elementAt(1).toString();
  84.          }
  85.  
  86.          aRow.addElement(asc);
  87.          tm.addRow(aRow);
  88.       }
  89.  
  90.    }
  91.  
  92.    public void commit() throws InternalError, ExternalError {
  93.       WizardViewSubDbQuerySort view = (WizardViewSubDbQuerySort)((WizardPage)this).getView();
  94.       TableModel tm = view.getSorts();
  95.       Vector dir = this.getDirections();
  96.       this._Data.removeAllSorts();
  97.  
  98.       for(int i = 0; i < tm.getRowCount(); ++i) {
  99.          String strTemp = tm.getValueAt(i, 0).toString();
  100.          int nIndex = strTemp.indexOf(".");
  101.          String strTable = strTemp.substring(0, nIndex);
  102.          String strField = strTemp.substring(nIndex + 1);
  103.          strTemp = tm.getValueAt(i, 1).toString();
  104.          boolean bAscending = strTemp.compareTo(dir.elementAt(0).toString()) == 0;
  105.          this._Data.addSort(strTable, strField, bAscending);
  106.       }
  107.  
  108.    }
  109.  
  110.    public Vector getDirections() {
  111.       String Options = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbQuerySort != null ? class$asp$wizard$WVPanelDbQuerySort : (class$asp$wizard$WVPanelDbQuerySort = class$("asp.wizard.WVPanelDbQuerySort")), "option.headerdirection");
  112.       return UiUtil.strToVector(Options);
  113.    }
  114.  
  115.    public void validate() throws InternalError, ExternalError {
  116.       super.validate();
  117.    }
  118.  
  119.    protected WizardPageView getViewSingleInstance() {
  120.       WizardViewSubDbQuerySort wizard = (WizardViewSubDbQuerySort)WizardViewSubDbQuerySort.getInstance();
  121.       return WizardViewSubDbQuerySort.getInstance();
  122.    }
  123.  
  124.    // $FF: synthetic method
  125.    static Class class$(String class$) {
  126.       try {
  127.          return Class.forName(class$);
  128.       } catch (ClassNotFoundException forName) {
  129.          throw new NoClassDefFoundError(((Throwable)forName).getMessage());
  130.       }
  131.    }
  132. }
  133.